package homework.day05_1;

import java.io.*;

/**
 * 扫描指定目录中的所有.java文件，并将内容全部输出到控制台
 * <p>
 * 例如将当前项目目录下src/main/java/io目录中的所有java文件内容输出
 * 到控制台
 * <p>
 * 1:先要定位./src/main/java/io目录(哪个API用来描述目录?)
 * 2:获取该目录下的所有.java文件
 * 3:遍历每一个java文件，然后按行读取里面的每一行字符串
 * 并输出控制台
 * <p>
 * 注意，流用完了要关闭，可以用autocloseable特性
 *
 * @author Xiloer
 */
public class Test03 {
    public static void main(String[] args) {
        File dir = new File("./src/main/java/io");
        if (dir.isDirectory()){
            File[] subs = dir.listFiles((f->f.getName().endsWith(".java")));
            for (int i = 0; i <subs.length ; i++) {
                File sud = subs[i];
                try(
                        FileInputStream fis = new FileInputStream(sud);
                        InputStreamReader isw = new InputStreamReader(fis);
                        BufferedReader br = new BufferedReader(isw);
                ){
                   String line;
                   while ((line = br.readLine())!=null){
                       System.out.println(line);
                   }
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
        }
    }
}
